<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>

<%@page import="com.google.appengine.codelab.*" %>

<%@page import="java.util.*" %>
<%@page import="java.math.BigDecimal" %>
<%@page import="com.google.appengine.api.datastore.Entity" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">

<html>

<head>

<jsp:include page="/WEB-INF/jsp/head.jsp"/>



<script>

$(function() {

$( "#dataInicial" ).datepicker();

});



$(function() {

$( "#dataFinal" ).datepicker();

});



</script>


  <script src="http://maps.google.com/maps/api/js?sensor=false" type="text/javascript"></script>

</head>

<body>



<jsp:include page="/WEB-INF/jsp/cabecalhoScaf.jsp"/>
<script >$("#divTitle").html("User Story 2");</script>



<div style="align:center;">
	<form method="POST">	
		<jsp:include page="/WEB-INF/jsp/common/RangeDatas.jsp" />
		<input type="submit">
		</form>
</div>
<BR><BR>

<%
MassaDados.load();
String DataIni = request.getParameter("dataInicial");
String DataFin = request.getParameter("dataFinal");

String dataScafIni = null;
String dataScafFin = null;
int i=0;

if(DataIni !=null && !DataIni.equals("") && DataFin !=null && !DataFin.equals("")){
dataScafIni = Common.StrDateToDataScaf(DataIni);
dataScafFin = Common.StrDateToDataScaf(DataFin);

out.println("Mostrando Fraudes no período entre " + DataIni + " e " + DataFin);
//out.println(dataScafIni + dataScafFin);

%>

  <div id="map" style="width: 900px; height: 400px; align:center;"></div>

<script type="text/javascript">



var locations = [  //Cria os Markers com as posições das transações Fraudulentas

<% 





Iterable<Entity> entitiesFraudes =  Fraude.getTransacaoFraudulentas(dataScafIni, dataScafFin); //executa a função GetAllTransacoes e armazena o retirno em entitiesTransacao

Iterable<Entity> Trans = Transacao.getTransacao(null);





for (Entity p:entitiesFraudes){
	
	Trans = Transacao.getTransacao(Common.cStr(p.getProperty("trans_id")));	 
	for (Entity t:Trans){
	out.println("[' ID Trans: "  					//Printa no JS da DIV do GMAPS os Markers
			+ t.getProperty("trans_id") 
			+ "</BR>Valor: " 
			+ t.getProperty("trans_price") 
			+ "</BR>Data: "
			+ t.getProperty("trans_data")
			+ "</BR>ID Cliente: "
			+ t.getProperty("cliente_id")
			+ "</BR>ID Midia: "
			+ t.getProperty("midia_id")
			+ "'," );

			String Id = Common.cStr(t.getProperty("localidade_id")); //Converte objeto localidade ID em String

			Iterable<Entity> Loc = Localidade.getLocalidade(Id); //Elecuta Get localidade com entrada o ID da localidade no registro de transação
			for (Entity j:Loc){
			out.println(j.getProperty("localidade_latitude")
						+ ","
						+ j.getProperty("localidade_longitude")
						+ "],"
						);
			
								} // fecha for (Entity j:Loc)
	}

									} // fecha for (Entity t:entitiesTransacao)

			%>

    ]; //fechando var locations

    


    var map = new google.maps.Map(document.getElementById('map'), {
																	zoom: 10,
																	center: new google.maps.LatLng(-23.55940720, -46.65842190),
																	mapTypeId: google.maps.MapTypeId.ROADMAP
																	}
    								);
    var infowindow = new google.maps.InfoWindow();

    var marker, i;
	for (i = 0; i < locations.length; i++) {  
											marker = new google.maps.Marker({
											position: new google.maps.LatLng(locations[i][1], locations[i][2]),
											map: map
																			});

      google.maps.event.addListener(marker, 'click', (function(marker, i) {
 	  																		return function() {
																			infowindow.setContent(locations[i][0]);
																			infowindow.open(map, marker);
																								}
  																			}) (marker, i)
  									);
											} // fecha o for (i = 0; i < locations.length; i++)

    

    map.fitBounds(bounds);

  </script>
  
  
</BR>


	
  <table width="620" border="1" align="center" cellpadding="0" cellspacing="0">
     <tr>
      <TD colspan="7" align="center"><Bold>Relação de Transações Fraudulentas</Bold></TD>
    </tr>
    <tr>
		<TD align="center">ID Trans</TD>
		<TD align="center">ID Cliente</TD>
		<TD align="center">Valor R$ </TD>
		<TD align="center">Data</TD>
		<TD align="center">ID Midia </TD>
		<TD align="center">Latitude </TD>
		<TD align="center">Longitude </TD>
    </tr>	


<%


for (Entity p:entitiesFraudes){ 
	i = i + 1; 
	Trans = Transacao.getTransacao(Common.cStr(p.getProperty("trans_id")));	 
	for (Entity t:Trans){
		
out.println("<tr><td>" 					//Printa Na tabela de fraudes
			+ t.getProperty("trans_id") 
			+ "</td><td>" 
			+ t.getProperty("cliente_id") 
			+ "</td><td>"
			+ t.getProperty("trans_price")
			+ "</td><td>"
			+ t.getProperty("trans_data")
			+ "</td><td>"
			+ t.getProperty("midia_id")
			+ "</td><td>"
			);

			String Id = Common.cStr(t.getProperty("localidade_id")); //Converte objeto localidade ID em String

			Iterable<Entity> Loc = Localidade.getLocalidade(Id); //Elecuta Get localidade com entrada o ID da localidade no registro de transação
			for (Entity j:Loc){
			out.println(j.getProperty("localidade_latitude")
						+ "</td><td>"
						+ j.getProperty("localidade_longitude")
						+ "</td></tr>" 
						);
			
			
			
								} // fecha for (Entity j:Loc)

	}
									} // fecha for (Entity t:entitiesTransacao)
			if(i==0){
						out.println("<tr><TD colspan='7' align='center'>Não foram encontratos registros para o período solicitado: <B>"+ DataIni + " e " + DataFin +"</B></TD> </tr>");
	
					}//	if(i==0){
									 
} // Do if da entrada de datas



else{
	
	out.println("Digite o perído desejado");
}
									

%>
</table>


</body>